Skip to content

feat(ci): seed rac-ci with the watchkeeper/gatekeeper/registrar wrappers [roadmap:rac-ci]#1

Merged
tcballard merged 4 commits into
mainfrom
claude/repo-topology-convergence-2a1awb
Jun 29, 2026
Merged

feat(ci): seed rac-ci with the watchkeeper/gatekeeper/registrar wrappers [roadmap:rac-ci]#1
tcballard merged 4 commits into
mainfrom
claude/repo-topology-convergence-2a1awb

Conversation

@tcballard

@tcballard tcballard commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Seeds the rac-ci CI-delivery repository per ADR-092 (one repo per concern, subdir per member) and the rac/roadmaps/repo-topology/rac-ci.md roadmap. PR-1 of 2 for the rac-ci move.

What this does

Brings the three CI action wrappers in from rac-core with history preserved (git filter-repo --path-rename; git log --follow registrar/github/action.yml traces back through the move), in the ADR-092 capability × platform layout:

Capability Path Wraps
Watchkeeper watchkeeper/github/ rac watchkeeper (← rac-core action.yml)
Gatekeeper gatekeeper/github/ rac gate --sarif (← pr-gate-action/)
Registrar registrar/github/ rac validate --sarif, ADR-058 (← validate-action/; action renamed "RAC Registrar")
Recordkeeper recordkeeper/ placeholder for the ADR-084 read-access recorder

Also moves the consumer-facing reusable watchkeeper.yml workflow here (repointed to itsthelore/rac-ci/watchkeeper/github), adds a tests/ contract suite + a tests.yml workflow (12 action-contract tests, green locally), a top-level README (capability map), and .claude/settings.json.

Adaptation from the move

  • The wrappers now install the published rac-core from PyPI (pin via rac-version). The install-from: source mode was dropped — its only user was rac-core's own dogfood, which moves to direct source-install CLI steps (PR-2). External consumers (default pypi) are unaffected. The moved action tests were updated to match.
  • bitbucket/ / jenkins/ join under each capability when demanded (engine is already platform-neutral).

Merging

  • main is an empty-root trunk already an ancestor, so this fast-forwards. Create a merge commit — do not squash.
  • After merge, tag a suite version (e.g. v1) so consumers can pin itsthelore/rac-ci/<capability>/github@v1.

Sequencing

  • PR-2 (in rac-core) is the carve-out: convert the 3 dogfood jobs to source-install, remove the in-repo action dirs + their tests + the reusable workflow, repoint docs, and add ADR-096. It is sequenced to land after this PR is merged and tagged (and after rac-core#243 merges, to keep that branch clean). I'll prepare it then.

Remaining maintainer org actions

  • Tag rac-ci v1; set main as default branch; archive rac-actions, lore-watchkeeper, lore-gatekeeper with redirect notes to rac-ci. Keep old rac-core action tags resolvable (versioned cutover).

Execution tracking: asdecided/core#228 (rac-ci item).

…ap:v0.22.0]

Implements rac/decisions/adr-088-enterprise-profile-scaffold.md.

Adds --profile {default,enterprise} to rac init (unknown value exits 2), and
reports the applied profile and each written file in human and JSON output.
Implements rac/decisions/adr-092-repository-topology.md.

Points the composite-action pip installs, the TestPyPI rehearsal notes, and the
watchkeeper version input at rac-core. (python-publish.yml is unchanged: Trusted
Publishing derives the project from the built distribution.)
…oadmap:rac-ci]

Implements rac/roadmaps/repo-topology/rac-ci.md (ADR-092).

Seeds rac-ci from the rac-core action sources (history preserved) under the
capability x platform layout:

- watchkeeper/github/  (← rac-core action.yml)
- gatekeeper/github/   (← rac-core pr-gate-action/)
- registrar/github/    (← rac-core validate-action/; action renamed "RAC Registrar")
- recordkeeper/        (placeholder for the ADR-084 recorder)

The wrappers now install the published rac-core from PyPI (pin via rac-version);
the install-from: source mode is dropped — rac-core dogfoods the gates via direct
source-install CLI steps, not by consuming these wrappers. Repoints the reusable
watchkeeper.yml and the moved action tests to the new paths, and adds a tests
workflow that pins each wrapper's contract.
@tcballard
tcballard merged commit a759478 into main Jun 29, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant